package com.un.ebs.inventory.domain;

import java.util.Date;

import com.un.ebs.contract.enums.ContractTypeEnum;
import com.un.ebs.product.enums.ProductPurchaseTypeEnum;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import org.springframework.stereotype.Component;
import lombok.Data;
import com.un.ebs.core.metadata.DbField;

/**
 * (InventoryNoteItemBySale)表实体类
 *
 * @author makejava
 * @since 2021-02-22 15:56:33
 */
@Data
@Component
@TableName("v_inventory_note_item_by_sale")
@SuppressWarnings("serial")
public class InventoryNoteItemBySale extends Model<InventoryNoteItemBySale> {


    @DbField(name = "inventory_note_id", length = 40, precision = 0)
    private String inventoryNoteId;

    @DbField(name = "inventory_note_code", length = 100, precision = 0)
    private String inventoryNoteCode;

    @DbField(name = "sku_id", length = 40, precision = 0)
    private String skuId;

    @DbField(name = "sku_code", length = 100, precision = 0)
    private String skuCode;

    @DbField(name = "sku_name", length = 100, precision = 0)
    private String skuName;

    @DbField(name = "class_name", length = 40, precision = 0)
    private String className;

    @DbField(name = "warehouse_id", length = 40, precision = 0)
    private String warehouseId;

    @DbField(name = "warehouse_name", length = 100, precision = 0)
    private String warehouseName;

    @DbField(name = "contract_code", length = 50, precision = 0)
    private String contractCode;

    @DbField(name = "contract_type", length = -1, precision = 0)
    private ContractTypeEnum contractType;

    @DbField(name = "price", length = 18, precision = 6)
    private Double price;

    @DbField(name = "qty", length = 38, precision = 4)
    private Double qty;

    @DbField(name = "cost_money", length = 38, precision = 10)
    private Double costMoney;

    @DbField(name = "invoice_qty", length = 38, precision = 4)
    private Double invoiceQty;

    @DbField(name = "contract_price", length = 18, precision = 4)
    private Double contractPrice;

    @DbField(name = "contract_money", length = 38, precision = 8)
    private Double contractMoney;

    @DbField(name = "invoice_not_qty", length = 38, precision = 4)
    private Double invoiceNotQty;

    @DbField(name = "invoice_not_money", length = 38, precision = 6)
    private Double invoiceNotMoney;

    @DbField(name = "ent_id", length = 40, precision = 0)
    private String entId;

    @DbField(name = "ent_name", length = 100, precision = 0)
    private String entName;

    @DbField(name = "last_customer_name", length = 100, precision = 0)
    private String lastCustomerName;

    @DbField(name = "personnel_id", length = 40, precision = 0)
    private String personnelId;

    @DbField(name = "personnel_name", length = 100, precision = 0)
    private String personnelName;

    @DbField(name = "account_year", length = -1, precision = 0)
    private Integer accountYear;

    @DbField(name = "account_month", length = -1, precision = 0)
    private Integer accountMonth;

    @DbField(name = "account_month_desc", length = 7, precision = 0)
    private String accountMonthDesc;

    @DbField(name = "audit_time", length = -1, precision = 0)
    private Date auditTime;

    @DbField(name = "purchase_type", length = -1, precision = 0)
    private ProductPurchaseTypeEnum purchaseType;

    @DbField(name = "tenant_id", length = 40, precision = 0)
    private String tenantId;

    @DbField(name = "expire_day_by_invoice", length = -1, precision = 0)
    private Integer expireDayByInvoice;


}